/*
qnettest - Qt4 application for testing network performance
Copyright (C) 2007  Pyry Haulos

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

#include <QtCore>
#include <QtNetwork>
#include "tcpserver.hpp"
#include "tcpproto.hpp"
#include "tcpserverhelper.hpp"

TcpServer::TcpServer(QObject * parent):QTcpServer(parent)
{
	testdata = TcpProto::generateTestData(1024);
}

TcpServer::~TcpServer()
{
	TcpProto::freeTestData(testdata);	// I hope there are no zombie threads...
}

void TcpServer::incomingConnection(int socketDescriptor)
{
#ifdef TCPSERVER_DEBUG
	qDebug() << "TcpServer::incomingConnection():" << QObject::tr("client connected, starting helper thread");
#endif

	TcpServerHelper *helper = new TcpServerHelper(socketDescriptor, testdata, this);
	connect(helper, SIGNAL(finished()), helper, SLOT(deleteLater()));
	helper->start();
}
